1. Technical Field
The present invention relates to a user authentication system, and more particularly, to a system for authenticating an authorized user by way of a one-time or ephemeral password using an integrated circuit (IC) card from a portable terminal for conducting financial transactions including account balance and transaction records of electronic money.
2. Related Art
Computer networks and systems have been developed for executing user requested financial transactions for reasons of public convenience and economy. One example is an integrated circuit (IC) card technology having memory and computation ability. The IC card technology allows user to access his or her account balance and transaction records in an electronic purse. The user can manage money in his or her account without going to a bank, and can easily perform many things by a remote connection using a personal computer at home. Service providers such as banks or other financial institutions generally use a network server to confirm whether a person who desires financial service is an authorized user. If security against unauthorized users is not provided, invasion of privacy and fraudulent transactions are perpetrated. Consequently, service providers must provide a mechanism able to authenticate the identity of the user.
Contemporary systems for authenticating an authorized user through networks are disclosed, for example, in U.S. Pat. No. 4,317,957 for System For Authenticating Users And Devices In On-Line Transaction Networks issued to Sendrow, U.S. Pat. No. 4,746,788 for Identification System For Authenticating Both IC Card And Terminal issued to Kawana, U.S. Pat. No. 4,809,326 for IC Card System issued to Shigenaga, U.S. Pat. No. 5,036,461 for Two-Way Authentication System Between User's Smart Card And Issuer-Specific Plug-In Application Modules In Multi-Issued Transaction Device issued to Elliott et al., U.S. Pat. No. 5,017,766 for Portable Electronic Apparatus Capable Of Confirming Validity Of Transaction Data issued to Tamada et al., U.S. Pat. No. 5,064,999 for Advance Transaction Processing Method issued to Okamoto et al., U.S. Pat. No. 5,146,068 for System For Authenticating An Authorized User Of An IC Card issued to Ugawa et al., and U.S. Pat. No. 5,550,919 for Method And Device For Limiting The Number Of Authentication Operations Of A Chip Card Chip issued to Kowalski. Generally, the identity of users is authenticated by way of a password. That is, the user who wants a service selects a password only he or she knows and registers the selected password with the service provider (the server). Typically, the user uses a string of several numbers or letters as a password. When the user who desires for user authentication transmits the password to the server, the server compares the password transmitted from the user with the password registered in the initial stage, and authenticates the user.
To provide greater security to user authentication, a one-time password may be used in which the password is changed each time the user wishes to be authenticated. In this method, an unauthorized person cannot reuse a password he or she found or stole from an authorized user because the password is changed each time the user wishes to be authenticated. In order to authenticate the identity of the user using the one-time password, a mechanism used to generate a one-time password is necessary. If every user uses a terminal of his or her own for generating the one-time password, security is enhanced because it is now possible to simultaneously confirm what only the user knows and what only the user owns in order to authenticate the user.
Contrary to the use of conventional password, the one-time password technique requires variable data to generate a variable password which changes for each authentication operation. For this, a real time clock (RTC) and a challenge/response method of using random numbers are used. In the user authentication method in which the RTC is used as a variable, the terminal owned by a user and the server of a service provider are synchronized. Namely, the user is authenticated by comparing the one-time password generated from the terminal at the time in which the user wishes to be authenticated, with the password generated by the server at the same time. In the challenge/response method of using random numbers, random numbers generated using a random number generator are used in order to determine the one-time password. When the user authentication operation is initiated, the server generates random numbers and transmits them to the user. The terminal ciphers the random numbers by a secret number shared with the server, generates the one-time password, and transmits the same to the server. The server authenticates the user by generating a password using the same secret number shared with the terminal and the same random numbers transmitted, and comparing the password with the password generated by the terminal.
Contemporary user authentication methods in which the password is used, which are widely used today, have many problems. The password generated with several numbers or letters based on personal information such as a telephone number, a birthday, and a resident ID number may be easily found out by others. When the user records the password somewhere, in order not to forget it, the recorded password may be exposed to others. In the case that the user who wants a service from a distance delivers his or her password to the server through a telephone line or a network in order to be authenticated, the password may be easily exposed to others by wiretap.
In the user authentication method in which the RTC is used, the terminal owned by the user must be synchronized in time with the server of the service provider in order to generate the one-time password and authenticate the user. If the terminal loses synchronization with the server with the lapse of time, then even the authorized user is not authenticated, since the password generated by the terminal does not coincide with the password generated by the server. A special mechanism must be necessarily installed to synchronize the terminal with the server. Therefore, when the one-time password is used in order to strengthen the user authentication in a conventional applied service, a special server is necessary for synchronizing the terminal with the server in time which can be cost prohibitive to the service provider. Also, a terminal can generate a one-time password for only one service, since the variables used in the terminal for generating the password using the real time clock are the real time clocks. When the user wants different services, a separate terminal is required for each service.
In the challenge/response method in which random numbers are used, the random numbers transmitted by the server must be input to the terminal in order to generate the one-time password. For this, the terminal must include an input device. In addition, since the server must transfer the random numbers to the user and the user must input the random numbers to the terminal, the authentication process can take a long time and is inconvenient for the user. Moreover, when the server cannot transmit the random numbers to the user, this method cannot be used.